<div class="bg-light lter b-b wrapper-md">
  <h1 class="m-n font-thin h3">节目管理</h1>
</div>
<div class="wrapper-md">
  <div class="row">
    <div class="col-sm-2" >
     <!-- 左边菜单-->
     <div style=" overflow-y:auto; overflow-x:auto;  height:600px;">
      <ul id="treeDemo" class="ztree"></ul>
    </div>
  </div>
  <div class="col-sm-10">
    <div class="panel panel-default">
      <div class="panel-heading">
        节目管理
      </div>
      <div  ng-controller="dataTablesCtrl">
        <div class="row">
          <div class="col-sm-12" >
            <div class="panel-heading">
              <a href="javascript:void(0);" ng-click="goAdd();"><button class="btn btn-default btn-sm "><i class="fa fa-plus fa-lg"></i>&nbsp; 新增</button></a>

              <a href="javascript:void(0);" ng-click="goEdit();" ><button class="btn btn-default btn-sm "><i class="fa fa-edit fa-lg"></i>&nbsp; 编辑</button></a>

              <a href="javascript:void(0);" ng-click="goRemove();" ><button class="btn btn-default btn-sm "><i class="fa fa-trash-o fa-lg"></i>&nbsp; 删除</button></a>

              <a href="javascript:void(0);" ng-click="batchOperation();" ><button class="btn btn-default btn-sm "><i class="fa fa-trash-o fa-lg"></i>&nbsp; 审核</button></a>
              <!--隐藏域-->
              <input type="hidden" id ="optIds" name="optIds">

            </div>
          </div>
        </div>
        <table id="myTable" class="table table-striped m-b-none"></table>
      </div>
    </div>
  </div>
</div>
</div>

<!--样式-->
<style type="text/css">  
  div#rMenu {position:absolute; visibility:hidden; top:0; background-color: #555;text-align: left;padding: 2px;}  
  div#rMenu a{  
    cursor: pointer;  
    list-style: none outside none;  
  }  

  .selected {
    background-color: #DFF0D8;
  }
  
  /* dataTables列内容居中 */
  .table>tbody>tr>td{
    text-align:center;
  }

  /* dataTables表头居中 */
  .table>thead:first-child>tr:first-child>th{
    text-align:center;
  }
</style>
<!--样式-->

<!--右键菜单-->
<nav ui-nav class="navi" ng-include="'src/app/program/ztree_edit.html'"></nav>


<script type="text/javascript">

//angularjs总控制器
app.controller('dataTablesCtrl', function($scope, $http,$state) {
//进入编辑页面
$scope.goEdit = function () {
  var optIds = $('#optIds').val();
  if(''==optIds){
    top.layer.msg('请至少选择一项', {icon: 6});
    return false;
  }
  if(optIds.indexOf(",") != -1){
    top.layer.msg('编辑只能选择一项', {icon: 6});
    return false;
  }
  $state.go('app.movie.programEdit', {infoId: optIds});
};

$scope.goAdd = function (){
  var classId = $("#operation").val();

  $state.go('app.movie.programAdd', {classId: classId});
}

//进入删除操作
$scope.goRemove = function () {
  var optIds = $('#optIds').val();
  if(''==optIds){
    top.layer.msg('请至少选择一项', {icon: 6});
    return false;
  }
  top.layer.confirm('您确定删除这些信息吗', function(index){
    var postInfoUrl = API_URL+"program_info";
    var optArrs = optIds.split(',');
    for(var i = 0;i< optArrs.length;i++ ){
      var infoUrl = API_URL+"program_info?query=delflag:0,Id:"+optArrs[i];
      var formData =  MY_ASYNC_AJAX(infoUrl)[0]; 
      formData.Delflag = "1";
      $.ajax({
        url : postInfoUrl+'/'+optArrs[i],
        type : 'put',
        data: JSON.stringify(formData),
        cache : false,
        success : function(data) {

        }
      });
    }
    var table = $('#myTable').DataTable();
    top.layer.msg('删除成功');
    table.ajax.reload().draw();
  });
};

$scope.batchOperation=function(){
  var optIds = $('#optIds').val();
  if(''==optIds){
    top.layer.msg('请至少选择一项', {icon: 6});
    return false;
  }
  top.layer.confirm('您确定批量操作这些信息吗', function(index){
    var opt = optIds.split(",");
    for(var i = 0;i< opt.length;i++ ){
      var postInfoUrl = API_URL+"program_info";
      var infoUrl = API_URL+"program_info?query=delflag:0,Id:"+opt[i];

      var formData =  MY_ASYNC_AJAX(infoUrl)[0];

      formData.ProgramIsAudited = "1";

      $.ajax({
       url : postInfoUrl+'/'+opt[i],
       type : 'put',
       data: JSON.stringify(formData),
       cache : false,
       success : function(data) {

       }
     });
    }
    var table = $('#myTable').DataTable();
    top.layer.msg('审核成功');
    table.ajax.reload().draw();
  });
};

});

function checkOne(){
  var optIds = '';
  $("input[name='ids']:checkbox:checked").each(function(){ 
    optIds+=$(this).val() +',';
  });
  if(''!=optIds){
    optIds = optIds.substring(0,optIds.length-1);
  }
  $('#optIds').val(optIds);

  console.log($('#optIds').val());
}


function selectAll(){
 var checklist = document.getElementsByName ("ids");
 var checkFarther = document.getElementById("allChecked");
   if(checkFarther.checked){
     for(var i=0;i<checklist.length;i++){
      checklist[i].checked = true;
    } 
  }
  else{
    for(var j=0;j<checklist.length;j++){
     checklist[j].checked = false;
   }
  }

    var optIds ='';
    if(checkFarther.checked){
      $("input[name='ids']:checkbox:checked").each(function(){ 
        optIds+=$(this).val() +',';
      });
    }else{
     optIds='';
   }
   if(''!=optIds){
    optIds = optIds.substring(0,optIds.length-1);
  }
  $('#optIds').val(optIds);

  console.log($("#optIds").val());


}

var dtUrl =  API_URL+"program_info?query=delflag:0";


$(document).ready(function(){


 //初始化dataTable
 var table =  $('#myTable').DataTable({
  ajax: {
    url: dtUrl,  
    success:function(json){
            //清空表格
            $('#myTable').dataTable().fnClearTable();  
            if(null==json){
              $('#myTable').dataTable().fnClearTable();  
            }else{
               $('#myTable').dataTable().fnAddData(json,true);  //刷下表格
             }  
           }
         },
         deferRender:true,
         Processing:true,

         buttons: [
         {
          extend: 'collection',
          text: 'Export',
          buttons: [ 'csv-flash', 'xls-flash', 'pdf-flash' ]
        }
        ],
            //默认最后一列（最后更新时间）降序排列
            order: [[5, "desc"]],

            //行创建完成后回调
            rowCallback: function (row, data, index) {


            },
            aoColumns: [
            { data : "Id",
              title: "<input type='checkbox' id='allChecked' name='allChecked' onclick='selectAll()'/>",
             orderable: false , 
             render : function(data, type, full, meta) {
              return '<input type="checkbox" value="'+ data + '" name="ids" onclick="checkOne()"/>';
            }
          },
          { data: "ProgramTitle" ,
          title: "标题"
        },
        { data: "AdderName"  ,
        title: "上传者" },

        { data: "ProgramPlayCount"  ,
        title: "点击量" },

        { data: "UpdaterId"  ,
        title: "推荐" },


        { data: "DelFlag",
        title: "集数" },

        { data: "ProgramIsAudited"  ,
        title: "审核状态",
        render: function (data, type, row, meta) {
          var href = '';
          if(row.ProgramIsAudited==1){
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('program',0,"
            + row.Id
            + ")>";
            href += "<i  title='启用' style='color:#2e8ded;' class='fa icon-refresh fa-lg'></i>";
          }else{
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('program',1,"
            + row.Id
            + ")>";
            href += "<i  title='停用' class='fa icon-refresh fa-lg'></i>";
          }
          return href;

        }
      },

      { data: "UpdateTime"   ,

      title: "更新时间",
      render: function (data, type, row, meta) {

        return getDateTime(data);
      }}
      ],
      columnDefs: [{
        targets: 8,
        data: null,
        title: "显示",
        render: function (data, type, row, meta) {
          var href = '';
          if(row.ProgramDisplayOnPc==1){
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pc',0,"+ row.Id + ")>";
            href += "<i style='color:#2e8ded;' title='PC' class='fa fa-laptop fa-lg'></i></a>";

          }else{
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pc',1,"+ row.Id + ")>";
            href += "<i  title='PC' class='fa fa-laptop fa-lg'></i></a>";
          }
          if(row.ProgramDisplayOnPhone==1){
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('phone',0,"+ row.Id + ")>";
            href += "<i style='color:#2e8ded;' title='Phone' class='fa fa-phone fa-lg'></i></a>"; 
          }else{
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('phone',1," + row.Id + ")>";
            href += "<i  title='Phone' class='fa fa-phone fa-lg'></i></a>";
          }

          if(row.ProgramDisplayOnPad==1){
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pad',0,"+ row.Id + ")>";
            href += "<i title='pad' style='color:#2e8ded;' class='fa fa-tablet fa-lg'></i></a>";
          }else{
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pad',1,"+ row.Id + ")>";
            href += "<i title='pad' class='fa fa-tablet fa-lg'></i></a>";
          }

          if(row.ProgramDisplayOnTv==1){

            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('tv',0,"+ row.Id + ")>";
            href += "<i title='pad' style='color:#2e8ded;' class='fa fa-tv fa-lg'></i></a>";
          }else{
            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('tv',1,"+ row.Id + ")>";
            href += "<i title='pad' class='fa fa-tv fa-lg'></i></a>";
          }
          return href;

        }
      },
      {
        targets: 9,
        data: null,
        title: "操作",
        render: function (data, type, row, meta) {

          var href = '';

          href += "&nbsp;  <a href='#/app/movie/program/diversity/"+row.Id+"'>";
          href += "<i  title='分集' class='fa fa-book fa-lg'></i></a>";
          href += "&nbsp;  <a href='#/app/movie/program/edit/"+row.Id+"'>";
          href += "<i  title='编辑' class='fa fa-edit fa-lg'></i></a>";

          href += "&nbsp;  <a href='javascript:void(0);' onclick=goDelete("
          + row.Id
          + ")>";
          href += "<i  title='删除' class='fa fa-trash-o fa-lg'></i></a>";


          return href;

        }
      }


      ],
      drawCallback: function( settings ) {

      },
      initComplete:function(data){


    },
  Paginate: true, 
  language:{
   url: 'vendor/jquery/datatables/Chinese.json'
 }
});
});  



//单条删除
function goDelete(id){
  top.layer.confirm('您确定删除吗', function(index){
    var postInfoUrl = API_URL+"program_info";
    var infoUrl = API_URL+"program_info?query=delflag:0,Id:"+id;

    var formData =  MY_ASYNC_AJAX(infoUrl)[0];

    formData.Delflag = "1";

    $.ajax({
     url : postInfoUrl+'/'+id,
     type : 'put',
     data: JSON.stringify(formData),
     cache : false,
     success : function(data) {
      top.layer.msg('删除成功');
      $("#myTable").DataTable().ajax.reload().draw();
    }
  });

  });

  top.layer.close(index);
}



//修改是否展示状态
function updateDisplay(type,value,id){
  var info = '您确定';
  if(1==value){
    info+='启用';
  }else{
    info+='停用';
  }
  
  if('pc'==type){
    info+='电脑端';
  }else if('phone'==type){
    info+='手机端';
  }else if('pad'==type){
    info+='pad端';
  }else if('tv'==type){
    info+='电视机端';
  }else if ('program'==type) {
    info+='此数据';
  }
  
  info+="展示吗？";
  
   //发起POST请求
   var postInfoUrl = API_URL+"program_info";

   var infoUrl = API_URL+"program_info?query=delflag:0,Id:"+id;

   var formData =  MY_ASYNC_AJAX(infoUrl)[0];


   if('pc' == type){
    formData.ProgramDisplayOnPc = value + "";
  }else if('phone' == type){
    formData.ProgramDisplayOnPhone = value + "";
  }else if('pad'== type){
    formData.ProgramDisplayOnPad = value + "";
  }else if('tv' == type){
    formData.ProgramDisplayOnTv = value + "";
  }else if ('program'==type){
    formData.ProgramIsAudited = value + "";
  }


  top.layer.confirm(info, function(index){

    $.ajax({
      url : postInfoUrl+'/'+id,
      type : 'put',
      data: JSON.stringify(formData),
      cache : false,
      success : function(data) {
        top.layer.msg('更新成功');

        $("#myTable").DataTable().ajax.reload().draw();
      }
    });

    top.layer.close(index);
  });

}


</script>







